package com.bicon.botu.mall.base.service;


import com.baomidou.mybatisplus.service.IService;
import com.bicon.botu.mall.base.dto.DeliveryPointDto;
import com.bicon.botu.mall.base.entity.DeliveryPoint;
import com.bicon.botu.core.base.common.entity.BaseResult;

/**
 * 发货点 服务类
 *
 * @author liushujie
 * @date 2017/7/19 下午 14:49
 */
public interface IDeliveryPointService extends IService<DeliveryPoint> {

    /**
     * 根据商户ID添加收货点
     * @param tenantId 商户ID
     * @param name 收货点名称
     * @param shipper 收货人
     * @param region 区域
     * @param address 详细地址
     * @param telephone 联系方式
     * @return boolean true、false
     */
    BaseResult insert(String tenantId, String name, String shipper, String region, String address, String telephone);


    /**
     * 初始化所有商户的发货点到redis
     * @return
     */
    BaseResult initDeliveryPointToRedis();


    /**
     * 删除发货点
     * @param id 发货点ID
     * @return true false
     */
    BaseResult deleteDeliveryPoint(String id);

    /**
     * 设置为默认发货点
     * @param id 发货点ID
     * @return
     */
    BaseResult setDealutDelivery(String id,Integer state);

    /**
     * 设置为默认收货点
     * @param id 收货点ID
     * @return
     */
    BaseResult setDealutReceive(String id,Integer state);


    /**
     * 根据发货点ID获取发货点详情
     * @param id 发货点ID
     * @return 发货点对象
     */
    DeliveryPointDto details(String id);

    /**
     * 修改发货点
     * @param id 发货点ID
     * @param tenantId 商户ID
     * @param name 收货点名称
     * @param shipper 收货人
     * @param region 区域
     * @param address 详细地址
     * @param telephone 联系方式
     * @return boolean true、false
     */
    BaseResult updateDeliveryPoint(String id,String tenantId, String name, String shipper, String region, String address, String telephone);

}
